package win.ganbo.easyframwork.repository;

import java.io.Serializable;
import java.util.List;

import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.NoRepositoryBean;

@NoRepositoryBean
public interface BaseRepository<T, ID extends Serializable> extends JpaRepository<T, ID>, JpaSpecificationExecutor<T> {

	
	/**
	 * 高级查询by hql
	 * @author ganbo
	 * @date 2017年5月6日 下午4:04:45
	 * @param hql 查询hql
	 * @param pageable 分页排序对象
	 * @param params 查询参数
	 * @return 分页对象
	 */
	Page<T> getResultPageByQuery(String hql, Pageable pageable,List<Object> params);
	
	List<T> findByHql(String hql,List<Object> params);
}
